package com.lty.jeeg.server.modules.fas.service;

import com.lty.jeeg.server.common.enums.ResponseEnum;
import com.lty.jeeg.server.modules.fas.dto.HandOverDTO;
import com.lty.jeeg.server.modules.fas.export.HandOverExportEntity;
import com.lty.jeeg.server.modules.fas.model.HandOver;
import com.lty.jeeg.server.common.page.table.PageTableRequest;
import com.lty.jeeg.server.common.page.table.PageTableResponse;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @author : zl
 * @date : 2019-02-13 14:56:11
 * Description : 调拨记录
 */
public interface HandOverService {

    /**
     * 根据ID获取
     * @param id ID
     * @return bean
     */
    HandOver getById(Long id);

    /**
     * 删除
     * @param id ID
     * @return 1/0
     */
    int delete(Long id);

    /**
     * 修改
     * @param handOver bean
     * @return 1/0
     */
    int update(HandOver handOver);

    /**
     * 保存
     * @param handOver bean
     * @return ResponseEnum
     */
    ResponseEnum save(HandOver handOver);
    /**
     * 添加报废或置换
     * @param handOver bean
     * @return ResponseEnum
     */
    ResponseEnum discard( HandOver handOver);

    /**
     * 列表
     * @param request ID
     * @return 分页
     */
    PageTableResponse list(PageTableRequest request);

    /**
     * 出入库记录数据(用于导出)
     * @param handOverDTO
     * @return
     */
    List<HandOverExportEntity> getExportDatas(HandOverDTO handOverDTO);

    /**
     * 报废或置换的审批
     * @param request
     * @return
     */
    ResponseEnum approval(HttpServletRequest request);
}
